7-Bar Exact Line Linkage (1)

To move the linkage manually move the BLUE point.  To automate the movement give the Speed slider a non-zero value. If this fails to work (which can happen after clicking the reset icon) then right-click on the BLUE point and select "Animation on" or alternatively just reload the page.

Frame DImensions

Animation Speed

Locus

BasePoint_1 = Intersect(xAxis, yAxis)
ω = 3.34 (slider from 2 * Δω to 20, step 0.1)
h_1 = 1.6 (slider from Δω to 20, step 0.1)
h_2 = 1.6 (slider from Δω to 20, step 0.1)
B: (0, h_1)
C: (ω, h_2)
BasePoint_2: (ω, 0)
Δω = 0.14 (slider from 0 to 2, step 0.01)
P_1: (-Δω, h_1)
P_2: (-Δω, -Δω)
P_3: (ω + Δω, -Δω)
P_4: (ω + Δω, h_2)
P_5: (ω - Δω, h_2)
P_6: (ω - Δω, Δω)
P_7: (Δω, Δω)
P_8: (Δω, h_1)
C_1: (0, h_1 + Δω)
C_2: (ω, h_2 + Δω)
poly1, p_1, p_2, p_3, p_4, p_5, p_6, p_7, p_8 = Polygon(P_1, P_2, P_3, P_4, P_5, P_6, P_7, P_8)
c = CircumcircleArc(P_8, C_1, P_1)
d = CircumcircleArc(P_4, C_2, P_5)
A = (-3.92, 6.02)
D = (-1.26, 6.02)
E = (-1.26, 2.36)
F = (-3.92, 2.36)
poly2, a_1, d_1, e, f = Polygon(A, D, E, F)
a = 1.2 (slider from 0 to 5, step 0.1)
g = Circle(B, a)
k = Circle(C, 3 * a)
Speed = 0 (slider from -10 to 10, step 0.1)
A_1 = (-3.92, 2.22)
D_1 = (-1.26, 2.22)
E_1 = (-1.26, 0.3)
F_1 = (-3.92, 0.3)
poly2_1, a_2, d_2, e_1, f_1 = Polygon(A_1, D_1, E_1, F_1)
u = Vector(B, C)
C' = Translate(C, Vector[u / 3])
G = Translate(P_4, Vector[u / 3])
H = Translate(C_2, Vector[u / 3])
I = Translate(P_5, Vector[u / 3])
d' = CircumcircleArc(G, H, I)
J = Translate(P_5, Vector[u / 3])
K = Translate(P_6, Vector[u / 3])
b = Segment(J, K)
L = Translate(P_3, Vector[u / 3])
M = Translate(P_4, Vector[u / 3])
h = Segment(L, M)
i = Segment(P_6, K)
j = Segment(P_3, L)
N = Intersect(p_3, i)
l = Segment(N, K)
m = Segment(P_4, N)
poly3, n, k_1, i_1, g_1, l_1, p_9 = Polygon(N, K, I, G, L, P_3)
p = Circle(C, 2 * ω / 3)
q = Circle(C', 2 * ω / 3)
O = Point(q)
r = Segment(C', O)
s = Circle(O, 2 * ω / 3)
Q = Intersect(p, s, 1)
t = Segment(O, Q)
b_1 = Segment(Q, C)
c_1 = Circle(O, 4 * ω / 3)
q_1 = Circle(B, 4 * ω / 3)
P = Intersect(c_1, q_1, 2)
R = Intersect(c_1, q_1, 1)
j_1 = Segment(B, R)
m_1 = Segment(R, O)
r_1 = Circle(R, 4 * ω / 3)
s_1 = Circle(Q, 2 * ω / 3)
n_1 = OrthogonalLine(R, p_6)
B' = Mirror(B, n_1)
t_1 = Segment(R, B')
b_2 = Segment(B', Q)
S = Intersect(j_1, t_1)
T = Intersect(m_1, t)
U = Intersect(b_1, t)
V = Intersect(b_2, t_1)
c_2 = Segment(B, C')
W = Intersect(j_1, c_2)
Z = Intersect(c_2, b_1)
B_1 = Intersect(c_2, r)
loc1 = Locus(B', O)
o = false